package com.assistant.command;

import com.assistant.core.CommandData;

/**
 * @author Anyang
 * @version 1.0.0
 * @date 2025/10/25 05:10:33
 * @description 命令接口
 */
public interface Command {

    /**
     * 检查此命令执行器是否支持处理给定的动作类型。
     * @param action NLU解析出的action字符串（如 "open_app"）
     * @return 如果支持则返回 true
     */
    boolean supports(String action);

    /**
     * 执行具体的命令操作，并返回用户反馈文本。
     * @param data 包含 action, target, prompt 的结构化命令数据
     * @return 需要语音合成反馈给用户的文本
     */
    String execute(CommandData data);
}